package com.performax.database.oh2game.mapper;

import java.util.List;
import java.util.HashMap;
import java.util.Vector;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.performax.database.Vo.*;


@Repository(value="eventInfoMapper")
public interface EventInfoMapper {
	
	//event
    List<EventInfoVo> 	getEventList(HashMap<String, Object> param);
    int				 	getEventListCnt(HashMap<String, Object> param);
    EventDetailVo		getEventDetail(@Param("eventId")int eventId);
    PreregVo			getPreregInfo(@Param("eventId")int eventId, @Param("userId")String userId);
    
    //reply
    List<ReplyInfoVo>	getEventReplyList(HashMap<String, Object> param);
    int					getEventReplyListCnt(HashMap<String, Object> param);
    void				regEventReply(HashMap<String, Object> param);
    void				incEventReplyOrder(@Param("upperId")int upperId);
    void				setEventReplyCnt(@Param("count")int count, @Param("eventId")int eventId);
    int					delEventReply(@Param("replyId")int replyId, @Param("upperId")int upperId);
    int					getEventReply(@Param("replyId")int replyId);
    int					getEventReplyCnt(@Param("eventId")int eventId);
    
    //friend list
    List<FriendInfoVo>	getEventFriendList(@Param("eventId")int eventId);
    
    //reg/delete friend
    String				getSnsAccount(@Param("userId")String userId);
    void				regEventFriend(@Param("eventId")int eventId, @Param("snsAccntId")String snsAccntId);
    void				delEventFriend(@Param("eventId")int eventId, @Param("snsAccntId")String snsAccntId);
    void				setEventFriendCnt(@Param("count")int count, @Param("eventId")int eventId);
    int					getEventFriendCnt(@Param("eventId")int eventId);
    
    //prereg
    void				prereg(@Param("userId")String userId, @Param("eventId")int eventId, @Param("couponCode")String couponCode);
    void				incPreregCnt(@Param("eventId")int eventId);
    String				getCouponCode(@Param("eventId")int eventId);
    void				updateCouponUseTp(@Param("couponCode")String couponCode, @Param("eventId")int eventId);
    int					getEventPreregCnt(@Param("eventId")int eventId);
    
    //report
    void				reportEventReply(HashMap<String, Object> param);
    void				incEventReplyReportCnt(@Param("replyId")int replyId);
    List<Integer>		getReplyReportType(@Param("userId")String userId);
    
    int					getReplyReportCnt(@Param("replyId")int replyId);
    
}
